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
 
 » cVas 02:25
 » housik 02:12
 » Martens 01:42
 » Visar 01:39
 » Zibi 01:23
 » Grza 00:36
 » Wedrowiec 00:05
 » doxent 00:00
 » maddog 23:33
 » yanix 23:30
 » kicior 23:25
 » GLI 23:20
 » DJopek 23:12
 » @GUTEK@ 23:06
 » Star Ride 23:06
 » rooter666 22:55
 » Bonifacyz 22:54
 » metacom 22:54
 » Wolf 22:52
 » Menah 22:43

 Dzisiaj przeczytano
 20060 postów,
 wczoraj 92849

 Szybkie ładowanie
 jest:
włączone.

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