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
 
 » elliot_pl 11:15
 » Emios 11:05
 » Hitman 11:05
 » mirek190 10:57
 » DJopek 10:56
 » rainy 10:55
 » Jumper 10:54
 » laciak88 10:48
 » alkatraz 10:47
 » stefan_nu 10:46
 » Artaa 10:42
 » m&m 10:41
 » Wolf 10:41
 » ham_solo 10:40
 » MARtiuS 10:29
 » @GUTEK@ 10:28
 » PCCPU 10:18
 » rad 10:07
 » kombajn4 10:07
 » petropank 10:06

 Dzisiaj przeczytano
 8782 postów,
 wczoraj 17616

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2024
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-2024, TwojePC.PL