Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » piwo1 13:57
 » Robek 13:56
 » alkatraz 13:56
 » adolphik 13:50
 » Hitman 13:47
 » Sherif 13:46
 » NimnuL 13:40
 » ligand17 13:36
 » XepeR 13:35
 » elliot_pl 13:32
 » Chrisu 13:32
 » LooKAS 13:29
 » Dhoine 13:26
 » Holyboy 13:23
 » Guli 13:23
 » NWN 13:20
 » Kenny 13:14
 » siwydym 13:13
 » mravel 13:04
 » Visar 13:01

 Dzisiaj przeczytano
 36869 postów,
 wczoraj 25433

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2025
A R C H I W A L N A   W I A D O M O Ś Ć
    

Perl i problem przy znakach \t \s :( , AwerS 5/10/07 16:25
Chce napisac sobie skrypt ktory bedzie obrabiac mi pliki z textem ktory jest pisany w mc (w mc 1 x TAB = 4 spacje) aby kazde 4 spacjena poczatku liniki dawaly tab'a


-----------------------------------------------------------------------------------------
if($x=~ /^\s/)
{
$CHANGE=0;
#print "Odnaleziono Spacje";
$CHAR_SPAC=++$CHAR_SPAC;
if($x=~ /^\s\s\s\s\s\s\s\s/)
{
print $x;
$x=~ s/^\s\s\s\s/\t\t/;
$CHANGE=1;
print $x;
print " zamiana 8 spacji na tab\n";
}
elsif($x=~ /^\s\s\s\s/)
{
print $x;
$x=~ s/^\s\s\s\s/\t\t/;
$CHANGE=1;
print $x;
print " zamiana 4 spacji na tab\n";
}
elsif($x=~ /^\s\s\s\s/)
{
print $x;
$x=~ s/^\s\s\s\s/\t/;
$CHANGE=1;
print $x;
print " zamiana 3 spacji na tab\n";
}
elsif($x=~ /^\s\s\s/)
{
print $x;
$x=~ s/^\s\s\s/\t/;
$CHANGE=1;
print $x;
print " zamiana 3 spacji na tab\n";
}
elsif($x=~ /^\s\t/)
{
print $x;
$x=~ s/^\s\t/\t/;
$CHANGE=1;
print $x;
print " zamiana 1 spacji na tab\n";
}
-------------------------------------------------------------------------------------

i mam kosmiczny problem gdyz soft uwaza wstawionego TAB'a [\t] za 4 spacje ma ktos jakis pomysl na takie rozwiazanie??

AwerS

  1. alo alo , DrLamok 5/10/07 17:16
    troche mnie zamotałeś

    - co to jest ? kod źródłowy czegoś ?
    - są spacje na poczatku linii a mają być taby w ilości 1 tab na 4 spacje ?
    - wrzuc gdzies przykladowy plik do przerobienia

    pozdr

  2. ok jesli kapuje o co ci biega to masz tu , DrLamok 5/10/07 19:28
    napisane na kolanie raz dwa... a perla nie ruszalem od 2-3 lat

    skrypt zamienia spacje na poczatku linii na taby
    jesli sa 4 spacje to 1 tab
    jeśli 8, 12, 16 itd to na odpowiednią liczbe tabów
    jeśli jest 5 spacji.. to robi się z tego 1 tab + jedna spacja
    jeśli 18 spacji to 4 taby + 2 spacje... itd..

    plik wejsciowy testin.txt
    plik wyjsciowy testout.txt


    ===========

    #!/usr/bin/perl

    $infile = "testin.txt";
    $outfile = "testout.txt";

    open(OUT,">$outfile") || die "Cannot open $outfile: $!\n";
    open(IN,$infile) || die "Cannot open $infile: $!\n";
    while (<IN>) {
    chomp;
    $string = $_;
    my $tabcount = 0;
    while ((substr $string,0,4) eq ' ') {
    $string = (substr $string,4);
    $tabcount++;
    }
    for ($count = $tabcount; $count >= 1; $count--) {print OUT "\t";}
    print OUT "$string\n";
    }
    close(IN);
    close(OUT);

    ============


    pozdr

    1. ops board to troche skaszanil... wiec masz jeszcze raz , DrLamok 5/10/07 19:32
      tu masz jeszcze raz.. bo board skaszanil kod w jednym miejscu

      http://rapidshare.com/...0490309/spacetab.zip.html

    
All rights reserved ® Copyright and Design 2001-2025, TwojePC.PL