This commit is contained in:
Nick Bebout 2015-12-03 11:16:32 -06:00
parent f1987d5e52
commit b7c835d670
134 changed files with 44448 additions and 2810 deletions

1
W/learn/10990.txt Normal file

File diff suppressed because one or more lines are too long

450
W/learn/10_99.txt Normal file
View file

@ -0,0 +1,450 @@
10
Hello Guys
LLLLLLLLLL
END
11
Hello Guys
LLLLLLLLLLL
END
12
Hello Guys
LLLLLLLLLLLL
END
13
Hello Guys
LLLLLLLLLLLLL
END
14
Hello Guys
LLLLLLLLLLLLLL
END
15
Hello Guys
LLLLLLLLLLLLLLL
END
16
Hello Guys
LLLLLLLLLLLLLLLL
END
17
Hello Guys
LLLLLLLLLLLLLLLLL
END
18
Hello Guys
LLLLLLLLLLLLLLLLLL
END
19
Hello Guys
LLLLLLLLLLLLLLLLLLL
END
20
Hello Guys
LLLLLLLLLLLLLLLLLLLL
END
21
Hello Guys
LLLLLLLLLLLLLLLLLLLLL
END
22
Hello Guys
LLLLLLLLLLLLLLLLLLLLLL
END
23
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLL
END
24
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLL
END
25
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLL
END
26
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLL
END
27
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLL
END
28
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
29
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
30
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
31
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
32
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
33
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
34
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
35
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
36
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
37
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
38
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
39
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
40
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
41
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
42
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
43
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
44
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
45
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
46
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
47
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
48
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
49
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
50
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
51
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
52
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
53
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
54
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
55
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
56
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
57
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
58
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
59
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
60
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
61
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
62
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
63
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
64
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
65
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
66
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
67
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
68
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
69
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
70
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
71
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
72
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
73
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
74
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
75
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
76
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
77
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
78
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
79
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
80
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
81
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
82
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
83
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
84
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
85
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
86
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
87
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
88
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
89
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
90
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
91
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
92
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
93
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
94
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
95
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
96
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
97
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
98
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END
99
Hello Guys
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
END

14
W/learn/getoptlong Executable file
View file

@ -0,0 +1,14 @@
#!/usr/bin/perl -w
use strict ;
use Getopt::Long ;
use Data::Dumper ;
my %define ;
GetOptions (
"define=s" => \%define
) ;
print Dumper( \%define ) ;

46
W/learn/imap_rename_regex Executable file
View file

@ -0,0 +1,46 @@
#!/usr/bin/perl -w
# $Id: imap_rename_regex,v 1.5 2015/08/15 03:42:01 gilles Exp gilles $
use Mail::IMAPClient;
++$| ;
$ARGV[3] or die "usage: $0 host user password regex do_it\n";
my $host = $ARGV[0] ;
my $user = $ARGV[1] ;
my $password = $ARGV[2] ;
my $regex = $ARGV[3] ;
my $doit = $ARGV[4] || 0 ;
my $imap = Mail::IMAPClient->new( ) ;
$imap->Debug( 1 ) ;
$imap->Server( $host ) ;
$imap->Ssl( 1 ) ;
$imap->connect( ) or die ;
$imap->IsUnconnected( ) ;
$imap->User( $user ) ;
$imap->Password( $password ) ;
$imap->login( ) or die ;
$imap->Uid( 1 ) ;
$imap->Peek( 1 ) ;
my @folders = $imap->folders( ) ;
foreach my $folder ( @folders ) {
print "$folder\n" ;
my $folder_new = $folder ;
if ( eval( "\$folder_new =~ $regex" )
and ( $folder_new ne $folder ) ) {
print "Renaming [$folder] -> [$folder_new]\n" ;
$imap->noop( ) ;
if ( $doit and $imap->rename( $folder, $folder_new ) ) {
print "renamed ok [$folder] -> [$folder_new]\n" ;
}else{
print "KO renamed [$folder] -> [$folder_new]\n" ;
}
}
}
$imap->logout();

View file

@ -0,0 +1,7 @@
# Removing trailing blanks in folders names
./imap_rename_regex lamiral.info tata `cat /g/var/pass/secret.tata` 's,([^ ]+) +$,$1,'
#./imap_rename_regex lamiral.info tata `cat /g/var/pass/secret.tata` 's,([^ ]+) +$,$1,' doit

View file

@ -19,11 +19,9 @@ sub imap_utf7_decode {
# On remplace , par / dans les BASE 64 (, entre & et -)
# On remplace les &, non suivi d'un - par +
# On remplace les &- par &
$s =~ s/\+/PLUSPLACEHOLDER/g;
$s =~ s/&([^,&\-]*),([^,\-&]*)\-/&$1\/$2\-/g;
$s =~ s/&(?!\-)/\+/g;
$s =~ s/&\-/&/g;
$s =~ s/PLUSPLACEHOLDER/+-/g;
return( Unicode::String::utf7( $s )->utf8 ) ;
}

23
W/learn/imap_utf7_encode Executable file
View file

@ -0,0 +1,23 @@
#!/usr/bin/perl
use Unicode::String ;
while (<>) {
chomp ;
push( @result, sprintf( "%s\n", imap_utf7_encode( $_ ) ) ) ;
}
print @result ;
# http://cpansearch.perl.org/src/FABPOT/Unicode-IMAPUtf7-2.01/lib/Unicode/IMAPUtf7.pm
sub imap_utf7_encode {
my ( $s ) = @_ ;
$s = Unicode::String::utf8( $s )->utf7 ;
$s =~ s/\+([^\/&\-]*)\/([^\/\-&]*)\-/\+$1,$2\-/g ;
$s =~ s/&/&\-/g ;
$s =~ s/\+([^+\-]+)?\-/&$1\-/g ;
return( $s ) ;
}

31
W/learn/imapclient_quota_qq Executable file
View file

@ -0,0 +1,31 @@
#!/usr/bin/perl -w
use lib '/g/public_html/imapsync/W/Mail-IMAPClient-3.37/lib/' ;
use Mail::IMAPClient;
$ARGV[3] or die "usage: $0 host user password quotaroot\n";
$host = $ARGV[0];
$user = $ARGV[1];
$password = $ARGV[2];
$quotaroot = $ARGV[3];
print "Mail::IMAPClient::VERSION $Mail::IMAPClient::VERSION\n" ;
my $imap = Mail::IMAPClient->new( ) ;
$imap->Debug( 1 ) ;
$imap->Server( $host ) ;
$imap->Ssl( 1 ) ;
$imap->Showcredentials( 0 ) ;
$imap->connect( ) or die ;
$imap->IsUnconnected( ) ;
$imap->User( $user ) ;
$imap->Password( $password ) ;
$imap->login( ) or die ;
$imap->Uid( 1 ) ;
$imap->Peek( 1 ) ;
$imap->getquotaroot( $quotaroot ) ;
$imap->getquota( '""' ) ;
$imap->logout( ) ;

View file

@ -0,0 +1,4 @@
#!/bin/sh
./imapclient_quota_qq imap.gmail.com imapsync.gl@gmail.com `cat /g/var/pass/secret.imapsync.gl_gmail` INBOX

View file

@ -7,7 +7,7 @@ $ARGV[3] or die "usage: $0 host user password folder\n";
$host = $ARGV[0];
$user = $ARGV[1];
$password = $ARGV[2];
$folder = $ARGV[3];
$folder_arg = $ARGV[3];
my $imap = Mail::IMAPClient->new();
$imap->Debug(1);
@ -19,5 +19,9 @@ $imap->Password($password);
$imap->login() or die;
$imap->Uid(1);
$imap->Peek(1);
$imap->select($folder) or die;
my @folders = $imap->folders( ) ;
foreach my $folder ( @folders ) {
print "$folder\n" ;
}
$imap->select( $folder_arg ) or die ;
$imap->logout();

9
W/learn/increaseline Executable file
View file

@ -0,0 +1,9 @@
#!/bin/sh
# Generate messages with line lenght from 10 ... up to 99 characters
for M in `count 10 99`; do
echo $M
{ echo Hello Guys; echo ; perl -e "print 'L' x ${M}" ; echo; echo END; }
done

View file

@ -1,6 +1,6 @@
#!/usr/bin/perl -w
use lib '/g/public_html/imapsync/W/Mail-IMAPClient-3.35/lib/' ;
use lib '/g/public_html/imapsync/W/Mail-IMAPClient-3.37/lib/' ;
use Mail::IMAPClient ;
use Data::Dumper ;

15
W/learn/re_backslashb Executable file
View file

@ -0,0 +1,15 @@
#!/usr/bin/perl -w
if ( not( grep /\b\\Noselect\b/i, ('* LIST (\Noselect \HasChildren) "/" Archive') ) ) {
print "Selectable\n" ;
}else{
print "Not selectable\n" ;
}
if ( not( grep /\\Noselect\b/i, ('* LIST (\Noselect \HasChildren) "/" Archive') ) ) {
print "Selectable\n" ;
}else{
print "Not selectable\n" ;
}